package leetcode;

import java.util.Stack;

/**
 * description:
 * author:zt
 * date:2021-09-15
 */

/**
 * 请根据每日 气温 列表 temperatures ，请计算在每一天需要等几天才会有更高的温度。如果气温在这之后都不会升高，请在该位置用 0 来代替。
 */
public class leetcode739 {
    public int[] dailyTemperatures(int[] T) {
        Thread.dumpStack();
        Stack<Integer> stack = new Stack<>();
        int[] res = new int[T.length];

        for (int i = 0; i < T.length; i++) {
            while (!stack.isEmpty() && T[stack.peek()]<T[i]){
                int pre = stack.pop();
                res[pre] = i-pre;
            }
            stack.push(i);
        }
        return res;
    }
}
